package com.quanyan.pay.api.wechat.vo;

import com.quanyan.common.utils.StringUtil;
import com.quanyan.pay.enums.WxBillTypeEnum;
import com.quanyan.pay.vo.WxBaseReqVo;
import com.thoughtworks.xstream.annotations.XStreamAlias;

import javax.validation.constraints.NotNull;

/**
 * Created by Zheng.Ke
 * Date 2017/2/15.
 * 具体参见文档 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_6
 */
@XStreamAlias("xml")
public class WxDownloadBillReqVo extends WxBaseReqVo {
    /** 应用APPID */
    @NotNull
    private String appid;
    /** 商户号 */
    @NotNull
    private String mch_id;
    /** 设备号 */
    private String device_info;
    /** 随机字符串  */
    private String nonce_str = StringUtil.genRandomCode(32, false).toUpperCase();
    /** 签名类型  */
    private String sign_type = "MD5";
    /** 对账单日期  格式：20140603 */
    @NotNull
    private String bill_date;
    /** 账单类型 */
    @NotNull
    private WxBillTypeEnum bill_type;

    public String getAppid() {
        return appid;
    }

    public void setAppid(String appid) {
        this.appid = appid;
    }

    public String getMch_id() {
        return mch_id;
    }

    public void setMch_id(String mch_id) {
        this.mch_id = mch_id;
    }

    public String getDevice_info() {
        return device_info;
    }

    public void setDevice_info(String device_info) {
        this.device_info = device_info;
    }

    public String getNonce_str() {
        return nonce_str;
    }

    public void setNonce_str(String nonce_str) {
        this.nonce_str = nonce_str;
    }

    public String getSign_type() {
        return sign_type;
    }

    public void setSign_type(String sign_type) {
        this.sign_type = sign_type;
    }

    public String getBill_date() {
        return bill_date;
    }

    public void setBill_date(String bill_date) {
        this.bill_date = bill_date;
    }

    public WxBillTypeEnum getBill_type() {
        return bill_type;
    }

    public void setBill_type(WxBillTypeEnum bill_type) {
        this.bill_type = bill_type;
    }

}
